package Year22_Month06.day06;

import java.util.ArrayList;
import java.util.List;

public class 二叉树的右视图_DFS {
    public List<Integer> rightSideView(TreeNode root) {
        List<Integer> list = new ArrayList<>();//用来存储每一层最后一个元素
        DFS(root,1,list);
        return list;
    }

    public void DFS(TreeNode node,int deepth,List<Integer> list){
        //如果为空直接返回
        if(node == null){
            return;
        }
        //如果说当前的层数 == list的层数+1，就代表当前层次是第一个被遍历的元素，然后这里的层次遍历时从右到左
        if(deepth == list.size() + 1){
            list.add(node.val);
        }
        DFS(node.right,deepth+1,list);
        DFS(node.left,deepth+1,list);
    }
}
